package com.dyj.goodlife.domain;

import java.util.List;

public class GetOpenOrderInfoDataOrdersSubOrderAmountInfosDiscountsIdleTimeInfoWriteOffTimeLimit {

    /**
     * 优惠券使用结束时间(绝对时间，时间戳，秒，当天23:59:59点)，如果营销只传相对时间，交易会将相对时间转换为绝对时间，并覆盖该字段 选填
     */
    private Long WriteOffEndTime;
    /**
     * 核销时间限制(1.WriteOffStartTime + WriteOffEndTime 限制总时间范围 2.WeekDayList 限制周几可用 3.DailyTimeRangeList 限制具体某天可使用时间范围)
     优惠券使用开始时间(绝对时间，时间戳，秒，当天00:00:00点)，如果营销只传相对时间，交易会将相对时间转换为绝对时间，并覆盖该字段 选填
     */
    private Long WriteOffStartTime;
    /**
     * 每日时间范围 选填
     */
    private List<GetOpenOrderInfoDataOrdersSubOrderAmountInfosDiscountsIdleTimeInfoWriteOffTimeLimitDailyTimeRange> DailyTimeRangeList;
    /**
     * 优惠券使用相对时间，建议使用方不感知(建议使用绝对时间 WriteOffStartTime/WriteOffEndTime)，如果有特殊需求再自行解析 选填
     */
    private GetOpenOrderInfoDataOrdersSubOrderAmountInfosDiscountsIdleTimeInfoWriteOffTimeLimitRelativeTime RelativeTime;
    /**
     * 星期几 选填
     */
    private List<Integer> WeekDayList;

    public Long getWriteOffEndTime() {
        return WriteOffEndTime;
    }

    public GetOpenOrderInfoDataOrdersSubOrderAmountInfosDiscountsIdleTimeInfoWriteOffTimeLimit setWriteOffEndTime(Long writeOffEndTime) {
        WriteOffEndTime = writeOffEndTime;
        return this;
    }

    public Long getWriteOffStartTime() {
        return WriteOffStartTime;
    }

    public GetOpenOrderInfoDataOrdersSubOrderAmountInfosDiscountsIdleTimeInfoWriteOffTimeLimit setWriteOffStartTime(Long writeOffStartTime) {
        WriteOffStartTime = writeOffStartTime;
        return this;
    }

    public List<GetOpenOrderInfoDataOrdersSubOrderAmountInfosDiscountsIdleTimeInfoWriteOffTimeLimitDailyTimeRange> getDailyTimeRangeList() {
        return DailyTimeRangeList;
    }

    public GetOpenOrderInfoDataOrdersSubOrderAmountInfosDiscountsIdleTimeInfoWriteOffTimeLimit setDailyTimeRangeList(List<GetOpenOrderInfoDataOrdersSubOrderAmountInfosDiscountsIdleTimeInfoWriteOffTimeLimitDailyTimeRange> dailyTimeRangeList) {
        DailyTimeRangeList = dailyTimeRangeList;
        return this;
    }

    public GetOpenOrderInfoDataOrdersSubOrderAmountInfosDiscountsIdleTimeInfoWriteOffTimeLimitRelativeTime getRelativeTime() {
        return RelativeTime;
    }

    public GetOpenOrderInfoDataOrdersSubOrderAmountInfosDiscountsIdleTimeInfoWriteOffTimeLimit setRelativeTime(GetOpenOrderInfoDataOrdersSubOrderAmountInfosDiscountsIdleTimeInfoWriteOffTimeLimitRelativeTime relativeTime) {
        RelativeTime = relativeTime;
        return this;
    }

    public List<Integer> getWeekDayList() {
        return WeekDayList;
    }

    public GetOpenOrderInfoDataOrdersSubOrderAmountInfosDiscountsIdleTimeInfoWriteOffTimeLimit setWeekDayList(List<Integer> weekDayList) {
        WeekDayList = weekDayList;
        return this;
    }
}
